math/big.Int.abs (field)
406 uses
math/big (current package)
float.go#L609: if len(x.abs) == 0 {
float.go#L614: z.mant = z.mant.set(x.abs)
float.go#L1113: z.abs = z.abs.shl(x.mant, exp-allBits)
float.go#L1115: z.abs = z.abs.set(x.mant)
float.go#L1117: z.abs = z.abs.shr(x.mant, allBits-exp)
float.go#L1153: z.a.abs = z.a.abs.shl(x.mant, uint(x.exp-allBits))
float.go#L1154: z.b.abs = z.b.abs[:0] // == 1 (see Rat)
float.go#L1157: z.a.abs = z.a.abs.set(x.mant)
float.go#L1158: z.b.abs = z.b.abs[:0] // == 1 (see Rat)
float.go#L1161: z.a.abs = z.a.abs.set(x.mant)
float.go#L1162: t := z.b.abs.setUint64(1)
float.go#L1163: z.b.abs = t.shl(t, uint(allBits-x.exp))
int.go#L35: abs nat // absolute value of the integer
int.go#L48: if len(x.abs) == 0 {
int.go#L64: z.abs = z.abs.setUint64(uint64(x))
int.go#L71: z.abs = z.abs.setUint64(x)
int.go#L91: return &Int{neg: x < 0, abs: abs}
int.go#L97: z.abs = z.abs.set(x.abs)
int.go#L112: return x.abs
int.go#L121: z.abs = nat(abs).norm()
int.go#L136: z.neg = len(z.abs) > 0 && !z.neg // 0 has no sign
int.go#L146: z.abs = z.abs.add(x.abs, y.abs)
int.go#L150: if x.abs.cmp(y.abs) >= 0 {
int.go#L151: z.abs = z.abs.sub(x.abs, y.abs)
int.go#L154: z.abs = z.abs.sub(y.abs, x.abs)
int.go#L157: z.neg = len(z.abs) > 0 && neg // 0 has no sign
int.go#L167: z.abs = z.abs.add(x.abs, y.abs)
int.go#L171: if x.abs.cmp(y.abs) >= 0 {
int.go#L172: z.abs = z.abs.sub(x.abs, y.abs)
int.go#L175: z.abs = z.abs.sub(y.abs, x.abs)
int.go#L178: z.neg = len(z.abs) > 0 && neg // 0 has no sign
int.go#L189: z.abs = z.abs.sqr(x.abs)
int.go#L193: z.abs = z.abs.mul(x.abs, y.abs)
int.go#L194: z.neg = len(z.abs) > 0 && x.neg != y.neg // 0 has no sign
int.go#L216: z.abs = z.abs.mulRange(uint64(a), uint64(b))
int.go#L267: z.abs, _ = z.abs.div(nil, x.abs, y.abs)
int.go#L268: z.neg = len(z.abs) > 0 && x.neg != y.neg // 0 has no sign
int.go#L276: _, z.abs = nat(nil).div(z.abs, x.abs, y.abs)
int.go#L277: z.neg = len(z.abs) > 0 && x.neg // 0 has no sign
int.go#L293: z.abs, r.abs = z.abs.div(r.abs, x.abs, y.abs)
int.go#L294: z.neg, r.neg = len(z.abs) > 0 && x.neg != y.neg, len(r.abs) > 0 && x.neg // 0 has no sign
int.go#L320: if z == y || alias(z.abs, y.abs) {
int.go#L351: if z == y || alias(z.abs, y.abs) {
int.go#L380: r = x.abs.cmp(y.abs)
int.go#L397: return x.abs.cmp(y.abs)
int.go#L423: v := int64(low64(x.abs))
int.go#L433: return low64(x.abs)
int.go#L438: if len(x.abs) <= 64/_W {
int.go#L439: w := int64(low64(x.abs))
int.go#L447: return !x.neg && len(x.abs) <= 64/_W
int.go#L453: n := x.abs.bitLen() // NB: still uses slow crypto impl!
int.go#L459: if n <= 53 || n < 64 && n-int(x.abs.trailingZeroBits()) <= 53 {
int.go#L460: f := float64(low64(x.abs))
int.go#L512: z.abs = z.abs.setBytes(buf)
int.go#L524: buf := make([]byte, len(x.abs)*_S)
int.go#L525: return buf[x.abs.bytes(buf):]
int.go#L535: x.abs.bytes(buf)
int.go#L545: return x.abs.bitLen()
int.go#L551: return x.abs.trailingZeroBits()
int.go#L570: xWords := x.abs
int.go#L572: if m == nil || len(m.abs) == 0 {
int.go#L580: xWords = inverse.abs
int.go#L582: yWords := y.abs
int.go#L586: if z == m || alias(z.abs, m.abs) {
int.go#L589: mWords = m.abs // m.abs may be nil for m == 0
int.go#L592: z.abs = z.abs.expNN(xWords, yWords, mWords, slow)
int.go#L593: z.neg = len(z.abs) > 0 && x.neg && len(yWords) > 0 && yWords[0]&1 == 1 // 0 has no sign
int.go#L596: z.abs = z.abs.sub(mWords, z.abs) // z == x**y mod |m| && 0 <= z < |m|
int.go#L615: if len(a.abs) == 0 || len(b.abs) == 0 {
int.go#L616: lenA, lenB, negA, negB := len(a.abs), len(b.abs), a.neg, b.neg
int.go#L661: m := len(B.abs) // m >= 2
int.go#L662: n := len(A.abs) // n >= m >= 2
int.go#L665: h := nlz(A.abs[n-1])
int.go#L666: a1 = A.abs[n-1]<<h | A.abs[n-2]>>(_W-h)
int.go#L670: a2 = B.abs[n-1]<<h | B.abs[n-2]>>(_W-h)
int.go#L672: a2 = B.abs[n-2] >> (_W - h)
int.go#L712: t.abs = t.abs.setWord(u0)
int.go#L713: s.abs = s.abs.setWord(v0)
int.go#L720: r.abs = r.abs.setWord(u1)
int.go#L721: q.abs = q.abs.setWord(v1)
int.go#L779: if A.abs.cmp(B.abs) < 0 {
int.go#L785: for len(B.abs) > 1 {
int.go#L809: if len(B.abs) > 0 {
int.go#L811: if len(A.abs) > 1 {
int.go#L815: if len(B.abs) > 0 {
int.go#L817: aWord, bWord := A.abs[0], B.abs[0]
int.go#L831: t.abs = t.abs.setWord(ua)
int.go#L832: s.abs = s.abs.setWord(va)
int.go#L845: A.abs[0] = aWord
int.go#L883: if n.neg || len(n.abs) == 0 {
int.go#L885: z.abs = nil
int.go#L889: z.abs = z.abs.random(rnd, n.abs, n.abs.bitLen())
int.go#L927: return (&Int{abs: z}).ModInverse(&Int{abs: g}, &Int{abs: n}).abs
int.go#L933: if len(y.abs) == 0 || y.abs[0]&1 == 0 {
int.go#L957: if len(a.abs) == 0 {
int.go#L961: if len(a.abs) == 0 {
int.go#L967: s := a.abs.trailingZeroBits()
int.go#L969: bmod8 := b.abs[0] & 7
int.go#L977: if b.abs[0]&3 == 3 && c.abs[0]&3 == 3 {
int.go#L1032: e := s.abs.trailingZeroBits()
int.go#L1093: case p.abs[0]%4 == 3:
int.go#L1096: case p.abs[0]%8 == 5:
int.go#L1107: z.abs = z.abs.shl(x.abs, n)
int.go#L1116: t := z.abs.sub(x.abs, natOne) // no underflow because |x| > 0
int.go#L1118: z.abs = t.add(t, natOne)
int.go#L1123: z.abs = z.abs.shr(x.abs, n)
int.go#L1133: if len(x.abs) > 0 {
int.go#L1134: return uint(x.abs[0] & 1) // bit 0 is same for -x
int.go#L1142: t := nat(nil).sub(x.abs, natOne)
int.go#L1146: return x.abs.bit(uint(i))
int.go#L1159: t := z.abs.sub(x.abs, natOne)
int.go#L1161: z.abs = t.add(t, natOne)
int.go#L1162: z.neg = len(z.abs) > 0
int.go#L1165: z.abs = z.abs.setBit(x.abs, uint(i), b)
int.go#L1175: x1 := nat(nil).sub(x.abs, natOne)
int.go#L1176: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1177: z.abs = z.abs.add(z.abs.or(x1, y1), natOne)
int.go#L1183: z.abs = z.abs.and(x.abs, y.abs)
int.go#L1194: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1195: z.abs = z.abs.andNot(x.abs, y1)
int.go#L1205: x1 := nat(nil).sub(x.abs, natOne)
int.go#L1206: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1207: z.abs = z.abs.andNot(y1, x1)
int.go#L1213: z.abs = z.abs.andNot(x.abs, y.abs)
int.go#L1220: x1 := nat(nil).sub(x.abs, natOne)
int.go#L1221: z.abs = z.abs.add(z.abs.or(x1, y.abs), natOne)
int.go#L1227: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1228: z.abs = z.abs.and(x.abs, y1)
int.go#L1238: x1 := nat(nil).sub(x.abs, natOne)
int.go#L1239: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1240: z.abs = z.abs.add(z.abs.and(x1, y1), natOne)
int.go#L1246: z.abs = z.abs.or(x.abs, y.abs)
int.go#L1257: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1258: z.abs = z.abs.add(z.abs.andNot(y1, x.abs), natOne)
int.go#L1268: x1 := nat(nil).sub(x.abs, natOne)
int.go#L1269: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1270: z.abs = z.abs.xor(x1, y1)
int.go#L1276: z.abs = z.abs.xor(x.abs, y.abs)
int.go#L1287: y1 := nat(nil).sub(y.abs, natOne)
int.go#L1288: z.abs = z.abs.add(z.abs.xor(x.abs, y1), natOne)
int.go#L1297: z.abs = z.abs.sub(x.abs, natOne)
int.go#L1303: z.abs = z.abs.add(x.abs, natOne)
int.go#L1315: z.abs = z.abs.sqrt(x.abs)
intconv.go#L25: return string(x.abs.itoa(x.neg, base))
intconv.go#L34: return append(buf, x.abs.itoa(x.neg, base)...)
intconv.go#L118: digits := x.abs.utoa(base)
intconv.go#L188: z.abs, base, _, err = z.abs.scan(r, base, false)
intconv.go#L192: z.neg = len(z.abs) > 0 && neg // 0 has no sign
intmarsh.go#L22: buf := make([]byte, 1+len(x.abs)*_S) // extra byte for version and sign bit
intmarsh.go#L23: i := x.abs.bytes(buf) - 1 // i >= 0
intmarsh.go#L44: z.abs = z.abs.setBytes(buf[1:])
intmarsh.go#L53: return x.abs.itoa(x.neg, 10), nil
intmarsh.go#L73: return x.abs.itoa(x.neg, 10), nil
prime.go#L39: if x.neg || len(x.abs) == 0 {
prime.go#L48: w := x.abs[0]
prime.go#L49: if len(x.abs) == 1 && w < 64 {
prime.go#L63: rA = uint32(x.abs.modW(primesA))
prime.go#L64: rB = uint32(x.abs.modW(primesB))
prime.go#L66: r := x.abs.modW((primesA * primesB) & _M)
prime.go#L78: return x.abs.probablyPrimeMillerRabin(n+1, true) && x.abs.probablyPrimeLucas()
prime.go#L171: intD := &Int{abs: d}
prime.go#L172: intN := &Int{abs: n}
rat.go#L274: b := x.b.abs
rat.go#L278: f, exact = quotToFloat32(x.a.abs, b)
rat.go#L290: b := x.b.abs
rat.go#L294: f, exact = quotToFloat64(x.a.abs, b)
rat.go#L305: babs := b.abs
rat.go#L309: if &z.a == b || alias(z.a.abs, babs) {
rat.go#L312: z.a.abs = z.a.abs.set(a.abs)
rat.go#L313: z.b.abs = z.b.abs.set(babs)
rat.go#L328: z.b.abs = z.b.abs.setUint64(uint64(b))
rat.go#L335: z.b.abs = z.b.abs.setWord(1)
rat.go#L342: z.b.abs = z.b.abs.setWord(1)
rat.go#L349: z.b.abs = z.b.abs.setWord(1)
rat.go#L359: if len(z.b.abs) == 0 {
rat.go#L360: z.b.abs = z.b.abs.setWord(1)
rat.go#L375: z.a.neg = len(z.a.abs) > 0 && !z.a.neg // 0 has no sign
rat.go#L382: if len(x.a.abs) == 0 {
rat.go#L386: z.a.abs, z.b.abs = z.b.abs, z.a.abs
rat.go#L400: return len(x.b.abs) == 0 || x.b.abs.cmp(natOne) == 0
rat.go#L420: if len(x.b.abs) == 0 {
rat.go#L424: return &Int{abs: nat{1}}
rat.go#L431: case len(z.a.abs) == 0:
rat.go#L435: case len(z.b.abs) == 0:
rat.go#L437: z.b.abs = z.b.abs.setWord(1)
rat.go#L444: z.a.abs, _ = z.a.abs.div(nil, z.a.abs, f.abs)
rat.go#L445: z.b.abs, _ = z.b.abs.div(nil, z.b.abs, f.abs)
rat.go#L474: z.abs = z.abs.mul(x.abs, f)
rat.go#L484: a.scaleDenom(&x.a, y.b.abs)
rat.go#L485: b.scaleDenom(&y.a, x.b.abs)
rat.go#L492: a1.scaleDenom(&x.a, y.b.abs)
rat.go#L493: a2.scaleDenom(&y.a, x.b.abs)
rat.go#L495: z.b.abs = mulDenom(z.b.abs, x.b.abs, y.b.abs)
rat.go#L502: a1.scaleDenom(&x.a, y.b.abs)
rat.go#L503: a2.scaleDenom(&y.a, x.b.abs)
rat.go#L505: z.b.abs = mulDenom(z.b.abs, x.b.abs, y.b.abs)
rat.go#L514: z.a.abs = z.a.abs.sqr(x.a.abs)
rat.go#L515: if len(x.b.abs) == 0 {
rat.go#L516: z.b.abs = z.b.abs.setWord(1)
rat.go#L518: z.b.abs = z.b.abs.sqr(x.b.abs)
rat.go#L523: z.b.abs = mulDenom(z.b.abs, x.b.abs, y.b.abs)
rat.go#L530: if len(y.a.abs) == 0 {
rat.go#L534: a.scaleDenom(&x.a, y.b.abs)
rat.go#L535: b.scaleDenom(&y.a, x.b.abs)
rat.go#L536: z.a.abs = a.abs
rat.go#L537: z.b.abs = b.abs
ratconv.go#L71: if z.b.abs, _, _, err = z.b.abs.scan(r, 0, false); err != nil {
ratconv.go#L78: if len(z.b.abs) == 0 {
ratconv.go#L96: z.a.abs, base, fcount, err = z.a.abs.scan(r, 0, true)
ratconv.go#L115: if len(z.a.abs) == 0 {
ratconv.go#L181: pow5 := z.b.abs.expNN(natFive, nat(nil).setWord(Word(n)), nil, false) // use underlying array of z.b.abs
ratconv.go#L183: z.a.abs = z.a.abs.mul(z.a.abs, pow5)
ratconv.go#L184: z.b.abs = z.b.abs.setWord(1)
ratconv.go#L186: z.b.abs = pow5
ratconv.go#L189: z.b.abs = z.b.abs.setWord(1)
ratconv.go#L197: z.a.abs = z.a.abs.shl(z.a.abs, uint(exp2))
ratconv.go#L199: z.b.abs = z.b.abs.shl(z.b.abs, uint(-exp2))
ratconv.go#L202: z.a.neg = neg && len(z.a.abs) > 0 // 0 has no sign
ratconv.go#L310: if len(x.b.abs) != 0 {
ratconv.go#L345: q, r := nat(nil).div(nat(nil), x.a.abs, x.b.abs)
ratconv.go#L353: r, r2 := r.div(nat(nil), r, x.b.abs)
ratconv.go#L357: if x.b.abs.cmp(r2) <= 0 {
ratconv.go#L408: d := x.Denom().abs // d >= 1
ratmarsh.go#L24: buf := make([]byte, 1+4+(len(x.a.abs)+len(x.b.abs))*_S) // extra bytes for version and sign bit (1), and numerator length (4)
ratmarsh.go#L25: i := x.b.abs.bytes(buf)
ratmarsh.go#L26: j := x.a.abs.bytes(buf[:i])
ratmarsh.go#L66: z.a.abs = z.a.abs.setBytes(buf[j:i])
ratmarsh.go#L67: z.b.abs = z.b.abs.setBytes(buf[i:])
 |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |